package com.xqx.eight.group.service;

import com.eight.group.entity.PageResult;
import com.eight.group.entity.QueryPageBean;
import com.eight.group.entity.Result;
import com.eight.group.pojo.Order;
import com.eight.group.vo.AddOrderVO;
import com.eight.group.vo.OrderAndMemberVO;

import java.util.List;
import java.util.Map;

/**
 * @author： xingquanxiang
 * createTime：2019/11/12 14:51
 * description:
 */
public interface OrderService {
    /**
     * 在线预约
     * @param map 预约客户信息
     * @return Result
     */
    Result order(Map map) throws Exception;

    /**
     * 根据id查询预约信息
     * @param id
     * @return Order
     */
    Order findById(Integer id);

    /**
     * 根据条件分页查询
     * @param queryPageBean  条件参数
     * @return  PageResult
     */
    PageResult findPageByCondition(QueryPageBean queryPageBean);

    /**
     * 新增预约（电话预约）
     * @param orderVO
     * @param setmealIds
     * @return
     */
    Result add(AddOrderVO orderVO, Integer[] setmealIds);

    /**
     * 根据id删除预约
     * @param id
     */
    void delete(Integer id);

    /**
     * 根据id确认预约
     * @param id
     */
    void confirm(Integer id);

    /**
     * 编辑预约
     * @param orderVO
     * @param setmealIds
     * @return
     */
    Result edit(AddOrderVO orderVO, Integer[] setmealIds);

    /**
     * 查询所有预约信息
     * @return
     */
    List<OrderAndMemberVO> findAll();

}
